The present disclosure relates generally to, among other things, the generation, maintenance, and use of data, metadata, and/or various data structures. As the amount of such information stored electronically continues to increase dramatically, approaches for managing this increasing amount of data become evermore important. Data typically is stored in a data storage using a two-dimensional approach, with each item of data corresponding to a row in at least one table that includes entries in respective columns of information. The mapping or other linking between tables provides the ability for the data to be linked to various other data, organizations, classifications, etc. The linking of various tables at different levels can thus produce a hierarchy of information relating to each stored data item. In order to attempt to provide some context for the data, metadata can be stored that provides additional information for each stored data item. For example, metadata might be used to associate a data item with one or more categories of data, as well as to provide information about those categories.
In an environment such as an electronic marketplace, for example, a data store might contain an enormous amount of “metadata” about items offered through the marketplace, including metadata for the types of items offered, attributes of those items, etc. Knowledge of that metadata typically is locked away into a fairly complex data store, such that even though an extensive tool set can provide access to this metadata, the view of the metadata is limited to a database orientation. In one example, JAVA® application programming interfaces (APIs) provide only a limited view of the system's knowledge of metadata, as standard database queries are relatively limited and represent only unit-level steps of the end-user's query (JAVA® is a general-purpose, concurrent, class-based, object-oriented language). A user is able to navigate through the data hierarchy to find particular information, such as item type and attributes for that item type. The user can view and update this information in a transactional fashion. The process does not obtain knowledge or context for the information being searched, and only satisfies a series of queries by getting and setting various attributes. Further, the process has to step through each transaction to obtain information about metadata, and there is no way to otherwise execute a multi-transactional query without stepping through each individual transaction. For example, there is no simple way to obtain information for all item types under (directly or indirectly) a consumer electronics category which have a particular attribute set to a particular value.
Further, the cost to develop and maintain these tools is high, and most significantly the tools can only give brief glimpses into the data. Existing data stores can be huge, unwieldy, time-and-computationally expensive, and still only provide a rather limited way to represent or express knowledge about the metadata itself, without any way to prove the knowledge about the metadata.